Ajax : تحولی بزرگ در عرصه وب ( بخش اول )

تبلیغات در سایت ما

شبکه و آنتی ویروس و نرم افزار و زبانهای برنامه نویسی

پشتيباني آنلاين
پشتيباني آنلاين
آمار
آمار مطالب
  • کل مطالب : 72
  • کل نظرات : 1
  • آمار کاربران
  • افراد آنلاین : 1
  • تعداد اعضا : 3
  • آمار بازدید
  • بازدید امروز : 30
  • بازدید دیروز : 10
  • ورودی امروز گوگل : 3
  • ورودی گوگل دیروز : 1
  • آي پي امروز : 10
  • آي پي ديروز : 3
  • بازدید هفته : 53
  • بازدید ماه : 375
  • بازدید سال : 8509
  • بازدید کلی : 335845
  • اطلاعات شما
  • آی پی : 3.12.34.209
  • مرورگر :
  • سیستم عامل :
  • امروز :
  • درباره ما
    شبکه و آنتی ویروس و نرم افزار و زبانهای برنامه نویسی
    به وبلاگ من خوش آمدید امیدوارم لحظات خوبی رو در این وب داشته باشین برای همکاری بیشتر می تونین به ایمیل بنده پیغام بدین
    خبرنامه
    براي اطلاع از آپدیت شدن سایت در خبرنامه سایت عضو شويد تا جديدترين مطالب به ايميل شما ارسال شود



    امکانات جانبی

    Ajax : تحولی بزرگ در عرصه وب ( بخش اول )

    وب ايستا : زمانی كه تيم . برنرز لی در سال 1990 اولين پيشنهاد خود در رابطه با وب را ارائه كرد ،  ايده كار بسيار ساده بود : ايجاد يك شبكه از اطلاعات متصل شده به يكديگر با استفاده از ابرمتن ها و URIs ( برگرفته شده از  Uniform Resource Identifiers ) . وب در آغاز به عنوان يك رسانه اشتراك اطلاعات مطرح گرديد تا از طريق آن دانشمندان و محققين بتوانند دانش و اطلاعات را بين خود به اشتراك گذاشته و نتايج تحقيقات را با يكديگر مبادله نمايند . ارائه دهند گان با استفاده از يك استاندارد مستند سازی ، اطلاعات خود را تهيه و آنها را به مخاطبان خود ارائه می كردند . در آغاز برای استاندارد مستند سازی از ابزاری كه در آن زمان خود هنوز استاندارد نشده بود استفاده می گرديد . HTML ، ابزاری است كه با بكارگيری مجموعه ای از تگ ها ، استاندارد لازم جهت نمايش يك مستند در نرم افزارهای نمايش دهنده ( مرورگرها )  را فراهم می نمايد . نرم افزارهای نمايش دهنده ، مجهز به مفسرهائی جهت تفسير تگ ها و نمايش اطلاعات موجود در مستند بر اساس تعاريف از قبل تعريف شده شدند . در آن زمان كه به سال های ابتدائی دهه 90 ميلادی برمی گردد ، چيزی با نام برنامه های وب وجود نداشت و وب به عنوان رسانه ای جهت اشتراك و مبادله اطلاعات مطرح بود . تمامی تعاملات در عرصه وب محدود به درخواست يك مستند توسط سرويس گيرنده و ارسال آن توسط سرويس دهنده بود .

    وب پويا با تمركز بر روی پردازش های سمت سرويس گيرنده : در ادامه ، نياز به انجام برخی پردازش های اوليه مطرح گرديد . با  توجه به اين كه اينترنت از يك بستر سرويس گيرنده و سرويس دهنده ( client server based) به منظور دريافت درخواست كاربر و پاسخ به آن استفاده می كرد ، طراحان و پياده كنندگان برای تحقق پردازش ها بر روی دو گزينه متمركز شدند : انجام پردازش ها در سمت سرويس گيرنده و  يا سمت سرويس دهنده . در آغاز ، برای انجام پردازش ها بر روی سرويس گيرنده متمركز شدند . با اين هدف كه بتوان پردازش های مورد نياز را ( با حوزه ای كه در آن زمان تعريف شده بود ) ، در سمت سرويس گيرنده انجام داد . برای تحقق خواسته فوق لازم بود كه بستر و ابزارهای لازم در بطن مرورگر ها ايجاد گردد . ظهور فناورهائی نظير Html-DOM ، جاوااسكريپت ، CSS  ( برگرفته شده از  cascading style sheets ) و DHTML  ( برگرفته شده از Dynamic HTML  )  از جمله مهمترين تلاش های انجام گرفته در آن زمان برای تحقق پردازش ها در سمت سرويس گيرنده بود . برای آشنائی بيشتر با تلاش های انجام گرفته در آن زمان بد نيست مروری سريع داشته باشيم به آنچه طی ساليان گذشته در عرصه وب اتفاق افتاده است .

    •  عرضه جاوا اسكريپت : Netscape Navigator اولين مرورگر وبی بود كه پس از طراحی و پياده سازی موفقيت آميز توانست به عنوان كاتاليزوری در رشد وب و عرضه فناوری های مرتبط با آن نقش بسيار مثبتی را ايفاء‌ كند . اغلب سازمان ها و شركت ها از مرورگر فوق به عنوان معيار استاندارد خود برای پياده سازی فناوری های جديد استفاده می كردند . يكی از اين فناوری ها ، جاوا اسكريپت بود . 
      جاو ااسكريپت توسط Brendan Eich از نت اسكيپ ايجاد و  نسخه شماره دو  آن در سال 1995 عرضه گرديد . برای اولين مرتبه ، پياده كنندگان قادر به ايجاد صفحات وبی شدند كه می توانست با كاربر تعامل برخورد نمايد . استفاده از جاوا اسكريپت برای معتبر سازی داده در سمت سرويس گيرنده و حذف برخی مبادلات غيره ضروری بين سرويس گيرنده و سرويس دهنده از جمله مهمترين دستاورد بكارگيری جاوا اسكريپت در آن زمان بود . بدين ترتيب نطفه پردازش های ساده در سمت سرويس گيرنده به كمك جاوا اسكريپت بسته شد . قابليت فوق در زمانی كه اكثر كاربران اينترنت از طريق يك مودم با سرعت 8 . 28 ( Kbps ) به شبكه وصل می شدند ، باعث می شد كه تعداد دفعاتی كه كاربران مجبور به انتظار برای دريافت يك پاسخ از سرويس دهنده باشند ، كاهش يابد . تحول فوق اولين مرحله جدی به سمت رويكرد Ajax در آن زمان بود .

    •  ايجاد فريم :   در نسخه اوليه HTML با هر سند به عنوان يك موجوديت رفتار می شد  تا اين كه در نسخه شماره چهار فريم ها معرفی گرديدند . با استفاده از فريم ها  نمايش يك صفحه وب می توانست مشتمل بر بكارگيری مجموعه ای از ساير صفحات وب باشد . ايده فوق يك اصلاح ساختاری اساسی در خصوص نحوه نمايش يك صفحه وب بود .  Netscape Navigator 2.0 اولين مرورگری بود كه از فريم ها و جاوا اسكريپت حمايت كرد . اين يك مرحله جدی به سمت رشد و توسعه Ajax در آن زمان بود .
      با توجه به اين كه يك فريم ، يك درخواست مجزاء را  برای سرويس دهنده ايجاد می كرد ، قابليت كنترل يك فريم و محتويات آن با استفاده از جاوا اسكريپت دنيای جديدی را پيش روی طراحان و پياده كنندگان صفحات وب قرار داد .

    • روش فريم  مخفی  : به موازات اين كه پياده كنندگان درگير نحوه استفاده از فريم ها شدند  ، يك روش جديد با هدف تسهيل در امر ارتباط بين سرويس گيرنده و سرويس دهنده مطرح گرديد . روش فريم مخفی شامل تنظيم يك frameset با طول و يا عرض صفر پيكسل است كه هدف اساسی آن انجام فرآيند مقداردهی اوليه با سرويس دهنده بود . فريم مخفی شامل يك فرم HTML با فيلدهای خاصی است كه می توانست بطور اتوماتيك توسط جاوا اسكريپت تكميل و برای سرويس دهنده ارسال گردد . زمانی كه فريم از سرويس دهنده مراجعت می كرد ، يك تايع ديگر جاوا اسكريپت فراخوانده می شد تا اعلام نمايد كه داده از سمت سرويس دهنده برگردانده شده است . روش فريم مخفی ، اولين مدل درخواست و پاسخ غيرهمزمان را برای برنامه های وب به ارمغان آورد ( اولين رويكرد به مدل ارتباطی Ajax ) .

    • Dynamic HTML  و DOM  :  تا سال 1996 ، وب يك دنيای ايستا را تجربه می كرد و برای تعامل محدود با كاربر از جاوا اسكريپت و روش فريم های مخفی استفاده می گرديد . همچنان امكان تغيير در محتويات يك صفحه بدون نياز به load مجدد آن از سرويس دهنده وجود نداشت .  در ادامه IE 4.0 ( برگرفته شده از  Internet Explorer  )  توسط شركت مايكروسافت ارائه گرديد . در اين نسخه علاوه بر بكارگيری اكثر فناوری های استفاده شده در Netscape Navigator ، يك ويژگی مهم ديگر با نام DHTML ( برگرفته شده از Dynamic HTML  ) نيز ارائه گرديد . DHTML به پياده كنندگان اجازه می داد تا بتوانند هر بخشی از يك صفحه مستقر شده در حافظه سرويس گيرنده را با استفاده از جاوا اسكريپت تغيير دهند . DHTML به همراه عرضه غيره منتظره CSS ( برگرفته شده از  cascading style sheets ) به وب و نحوه پياده سازی صفحات وب يك نيروی تازه داد. پياده كنندگان توانستند با تركيب DHTML و روش فريم های مخفی هر بخشی از يك صفحه را با استفاده از اطلاعات دريافت شده از سرويس دهنده refresh نمايند . ويژگی فوق در زمان خود توانست يك تحول بزرگ در عرصه وب را ايجاد نمايد .
      در ادامه ،  DOM ( برگرفته شده از  Document Object Model  ) ارائه گرديد . برخلاف DHTML كه صرفا" امكان تغيير بخش هائی خاص از يك صفحه وب را فراهم می كرد ، DOM  دارای يك هدف بلندپروازانه ديگر بود . هدف DOM ارائه يك ساختار برای تمامی صفحه بود . انجام عمليات و يا پردازش بر اساس ساختار فوق ، امكان تغيير يك صفحه را فراهم می آورد . اين مرحله بعدی به سمت Ajax بود .

    • Iframesبا اين كه روش فريم مخفی بطور غيرقابل پيش بينی متداول گرديد ، ولی دارای چالش های مختص به خود بود . افرادی می بايست زمان زيادی را صرف نوشتن يك frameset می كردند تا شرايط استفاده از فريم های مخفی فراهم گردد . زمانی كه عنصر  >  در سال 1997 و به عنوان بخشی از نسخه رسمی HTML 4.0 ارائه گرديد ، يك قدم اساسی ديگر به سمت انقلاب بر روی وب حركت شد .
      در مقابل تعريف frameset ، پياده كنندگان قادر به استفاده از فريم ها در هر مكانی از صفحه شدند . بدين ترتيب پياده كنندگان توانستند از  iframe نامرئی ( با بكارگيری قابليت های CSS ) در يك صفحه استفاده نمايند و شرايط عملياتی لازم جهت مبادله داده بين سرويس گيرنده و سرويس دهنده را فراهم نمايند . زمانی كه نسخه نهائی DOM در IE 5.0 و Netscape 6.0 پياده سازی گرديد ، قابليت ايجاد فريم ها به صورت پويا نيز فراهم گرديد . در چنين حالتی از يك تابع جاوا اسكريپت به منظور ايجاد يك iframe ، ايجاد يك درخواست و دريافت پاسخ ( جملگی بدون نياز به اضافه كردن تگ های HTML اضافه در يك صفحه ) استفاده می گرديد . اين روش معروف به روش iframe مخفی گرديد .

    • XMLHttp  : پياده كنندگان مرورگر شركت مايكروسافت پس از مشاهده عموميت استفاده از روش هائی‌ نظير فريم مخفی و iframe مخفی ، تصميم گرفتند يك ابزار بهتر جهت تعامل بين سرويس دهنده و سرويس گيرنده را ارائه نمايند . اين ابزار به شكل يك اكتيوايكس و با نام  XMLHttp در سال 2001 ارائه گرديد .
      زمانی كه مايكروسافت حمايت خود از XML را از طريق يك كتابخانه با  نام MSXML آغاز كرد ، شی XMLHttp نيز به همراه آن ارائه گرديد .
      با اين كه شی‌ فوق به همراه خود نام XML   را يدك می كشيد ولی چيزی بمراتب بيشتر از روشی برای انجام عمليات بر روی داده XML  بود . شی فوق همانند يك درخواست HTTP بود كه می توانست توسط جاوا اسكريپت كنترل گردد . پياده كنندگان دارای قدرت دستيابی به كدهای وضعيت HTTP و هدر همانند داده برگردانده شده از طريق سرويس دهنده بودند . داده می توانست به صورت XML ساختيافته ، اشياء سريال شده جاوا اسكريپت و يا ساير فرمت های مورد نظر پياده كننده باشد . در مقابل استفاده از فريم های مخفی و يا iframe ، اين امر ميسر گرديد كه به سرويس دهنده از طريق كد و توسط جاوا اسكريپت دستيابی داشت ( مستقل از چرخه load و  reload صفحه ) . شی XMLHttp پس از مدتی به عنوان يك موفقيت بزرگ برای پياده كنندگان مرورگر IE  عرض اندام كرد .
      به موازات متداول شدن شی فوق ، پياده كنندگان در Mozilla نسخه اختصاصی از  XMLHttp را پياده سازی كردند . در مقابل اجازه دستيابی از طريق اكتيو ايكس ، پياده كنندگان موزيلا متدها و خصلت ها را در يك شی ذاتی مرورگر و با نام objectXMLHttpRequest ارائه كردند . پس از اين كه دو مرورگر اصلی در بازار هر يك توانستند به نوعی از XMLHttp حمايت نمايند ، مرورگرهائی ديگر نظير Opera و Safari نيز هر يك به نوعی حمايت خود از شی فوق را اعلام كردند .

    بدين ترتيب پياده كنندگان صفحات وب توانستند ، صفحاتی را خلق نمايند كه با تعبيه كدهای مورد نياز در آنها ، امكان پردازش در سمت سرويس گيرنده را فراهم نمايند . انجام پردازش های اوليه نظير تغيير رنگ و شكل ظاهری صفحات ، مديريت عناصر موجود بر روی يك صفحه و تغيير آنها در زمان اجراء  متناسب با عمليات كاربر ، بررسی صحت داده ورودی توسط كاربر در يك فرم ساده اطلاعاتی ، دريافت داده در پس زمينه و عدم نياز به ارسال تمامی صفحه و بهنگام سازی بخش هائی خاص از آن ( با بكارگيری فريم ها ) ، نمونه هائی از تاثير فناوری هائی بود كه توان پردازش در سمت سرويس گيرنده را در اختيار پياده كنندگان قرار می داد .

    وب پويا با تمركز بر روی پردازش های سمت سرويس دهنده
    همزمان با گسترش اينترنت و  وب ، ايجاد صفحات وب  با محتويات پويا با اتكاء به منابع داده موجود در سمت سرويس دهنده و ساير شرايط تاثير گذار در فرآيند پاسخ به درخواست كاربران مطرح گرديد . همين موضوع باعث شد كه توجه به سرويس دهنده برای انجام برخی پردازش ها  نيز در دستور كار قرار بگيرد . ظهور فناورهائی نظير  ASP ( برگرفته شده از Active Server Page ) و PHP ( برگرفته شده از  Hypertext Preprocessor  ) از اوايل سال 1996 پاسخی به اين نياز بود . از آن زمان به بعد بود كه كم كم واژه برنامه های وب قدم در عرصه نرم افزار گذاشت . اگر به تعاريف آن زمان برگرديم مشاهده می كنيم كه در ابتدا از اين اصطلاح در خصوص صفحات وب پويا استفاده می گرديد .
    نگرش جزيره ای به فناورهای مرتبط با برنامه های وب تا اوايل سال 1999 ادامه يافت . تا اين كه شركت های متعددی به فكر ارائه يك پلت فرم با در نظر گرفتن واقعيتی به نام اينترنت افتادند . دات نت ، پلت فرم ارائه شده توسط شركت مايكروسافت يك نمونه در اين زمينه است كه از صدر تا ذيل آن با در نظر گرفتن واقعيتی با نام اينترنت طراحی و پياده سازی شده است .
    در اين دوران بود كه به برنامه های وب با يك نگاه جامع تر و سيستماتيك تر نگاه می شد . در طی پنج سال گذشته ، اين نوع برنامه ها توانستند با بكارگيری مجموعه ای از  فناوری ها  منشاء تحولات عمده ای در خصوص بردن اينترنت در متن  زندگی (و نه حاشيه ! ) مردم جهان باشند . ايده " نرم افزار به عنوان سرويس " و يا برنامه نويسی سرويس گراء از نگرش های جديد به مقوله نرم افزار و دنيای برنامه نويس‍ی در عرصه وب است .
    موج استفاده از اينترنت برای ارائه خدمات online ( ارائه شده به كاربران از طريق برنامه های وب )  باعث گرديد تا معماری و رفتار اينگونه برنامه ها با تامل بيشتر مطالعه و بررسی گردد . هدف ، ايجاد برنامه های وب با كارآئی مطلوب است تا ضمن ارائه خدمات خود دارای ويژگی هائی نظير : افزايش تعامل كاربر با برنامه ( همانند برنامه های desktop ) ، استفاده بهينه از محيط انتقال و به حداقل رساندن ترافيك آن ، مديريت بهينه منابع سمت سرويس گيرنده در پاسخ به رويدادهای محقق شده سمت سرويس گيرنده ، عدم ارسال اطلاعات غيره ضروری توسط سرويس گيرنده و ... باشند .  ماحصل اين تفكرات ظهور فناوری جديدی با نام Ajax است كه شركت هائی نظير گوگل و مايكروسافت توانستند از سال 2005 با بكارگيری اين فناوری تحول بزرگی را در عرصه برخی از سرويس ها و خدمات خود ايجاد نمايند .

    حمع بندی !
    همزمان با بحث معماری سرويس گيرنده و سرويس دهنده  دو واژه   fat-client و thin-client  قدم در ادبيات نرم افزار گذاشتند . در معماری فوق ، هدف استفاده از توان پردازشی سرويس گيرنده و سرويس دهنده برای اجرای يك برنامه است . استفاده از توان پردازشی هر يك از عناصر اصلی درگير در معماری فوق و تعريف سهمی خاص برای هر يك  ( سرويس گيرنده و سرويس دهنده ) ، از اهداف اوليه و در عين حال بسيار مهم معماری فوق است .
    پياده كنندگان برنامه های كامپيوتری خصوصا" برنامه های وب ، همواره با اين سوال مواجه بوده و هستند كه در تقسيم سهم پردازش ، چه ميزان سهم را می بايست به سرويس گيرنده داد ؟ چه پردازش هائی را می توان در سمت سرويس گيرنده انجام داد ؟ در پاسخ به اين سوال رويكردهای مختلفی مطرح شده است . fat client و thin client دو نمونه متداول در اين زمينه می باشند .
    در   fat client ، هدف بكارگيری پتانسيل های  مرورگر برای انجام اكثر پردازش ها در يك برنامه وب است . رويكرد فوق در اواسط دهه 90 ميلادی در كانون توجه طراحان و پياده كنندگان وب قرار گرفت . علت اين امر به تلاش شركت های بزرگ نرم افزاری در جهت توليد و ارائه فناورهائی بود كه توانمندی مرورگر  در انجام پردازش  را افزايش می داد . ظهور فناورهائی نظير جاوا اسكريپت ، ايجاد يك اينترفيس برنامه نويسی در مرورگر ،‌ايجاد يك مدل شی گراء ( ولو ناقص ) برای يك سند HTML با هدف امكان دستيابی به هر يك از عناصر موجود در آن ، عرضه DHTML و CSS جملگی نشاندهنده تلاش هائی است كه در آن زمان با هدف افزايش توان پردازش در سمت سرويس گيرنده مطرح شد .
    پس از گذشت مدت زمان كوتاهی ( از ابتدای سال 1996 ) ، تمايل به سمت برنامه های وب با ويژگی thin client مطرح گرديد . در مدل فوق ، هدف كاهش سهم پردازش در سمت سرويس گيرنده و افزايش پردازش های سمت سرويس دهنده بود . ظهور فناورهای متعددی نظير ASP   و PHP   تنها نمونه ای اندك از تلاش های انجام يافته در آن دوران برای افزايش توان پردازش در سمت سرويس دهنده است .
    با اين كه در ساليان گذشته همچنان از پتانسيل های سمت سرويس گيرنده برای انجام پردازش در برنامه های وب استفاده می گرديد ، ولی رفتار اكثر برنامه های وب    مبتنی بر اين واقعيت بود كه : " داده را وارد نمائيد ، صفحه را برای سرويس دهنده ارسال نمائيد و منتظر دريافت پاسخ باشيد " .
    هم اينك ما شاهد يك تحول بزرگ ديگر در عرصه برنامه نويسی هستيم . تحولی كه مهمترين دستاورد آن ، تولد نسل جديدی از برنامه های وب است كه در آنها كاربر با برنامه دارای تعامل بمراتب بيشتری نسبت به نسل گذشته برنامه های وب است . اين تحول عظيم نرم افزاری به كمك مجموعه ای از فن آوری ها كه در مجموع به آنها Ajax گفته می شود ، محقق می گردد .
    آيا Ajax قصد دارد با تغيير در الگوی رفتاری برنامه های وب فاصله آنها را با برنامه های desktop كاهش دهد ؟  آيا زمان آن رسيده است كه برای پردازش های سمت سرويس گيرنده از يك پلت فرم جامع ، همانند پلت فرم های ارائه شده سمت سرويس دهنده ، استفاده گردد ؟ آيا تاكنون از اين فناوری به منظور ايجاد برنامه های وب  استفاده شده است ؟  با استفاده از چه مكانيزم هائی می توان مبادله اطلاعات بين سرويس گيرنده و سرويس دهنده را كاهش و از پهنای باند موجود استفاده بهينه كرد ؟
    اجازه دهيد به اين سوال و سوالات بسيار ديگر در رابطه با Ajax ، فناورهای مرتبط با آن و از همه مهمتر كاربرد آن در بخش های بعدی پاسخ دهيم .


    بخش نظرات این مطلب


    برای دیدن نظرات بیشتر روی شماره صفحات در زیر کلیک کنید

    نام
    آدرس ایمیل
    وب سایت/بلاگ
    :) :( ;) :D
    ;)) :X :? :P
    :* =(( :O };-
    :B /:) =DD :S
    -) :-(( :-| :-))
    نظر خصوصی

     کد را وارد نمایید:

    آپلود عکس دلخواه:







    تبلیغات
    نویسندگان
    ورود کاربران
    نام کاربری
    رمز عبور

    » رمز عبور را فراموش کردم ؟
    عضويت سريع
    نام کاربری
    رمز عبور
    تکرار رمز
    ایمیل
    کد تصویری
    تبادل لینک هوشمند

      تبادل لینک هوشمند
      برای تبادل لینک 

       ابتدا ما را با عنوان

      هاستینگ رایگان

      و آدرس

       http://www.iran2.net

      لینک نمایید سپس مشخصات

       لینک خود را در زیر نوشته

       . در صورت وجود لینک ما

      در سایت شما لینکتان

      به طور خودکار در سایت ما

      قرار میگیرد.






    آخرین نظرات کاربران
    Moohammad - سلام دوست گلم خوبی؟

    وبلاگت خیلی خوبه. به منم سر بزن خوشحال میشم نظر بدی

    تبادل لینک هم تو سایتم هست



    - 1393/9/15
    عنوان آگهی شما

    توضیحات آگهی در حدود 2 خط. ماهینه فقط 10 هزار تومان

    عنوان آگهی شما

    توضیحات آگهی در حدود 2 خط. ماهینه فقط 10 هزار تومان

    به شبکه و آنتی ویروس و نرم افزار و زبانهای برنامه نویسی امتیاز دهید